home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 49
/
Aminet 49 (2002)(GTI - Schatztruhe)[!][Jun 2002].iso
/
Aminet
/
util
/
misc
/
ResetRun2.lha
/
EmbedderII.doc
< prev
next >
Wrap
Text File
|
1999-04-27
|
10KB
|
233 lines
Embedder II
Release V1.0
(C) Copyright 1993,1994 Bigmama/Focus Design
All Rights Reserved
Copyright note
~~~~~~~~~~~~~~
Embedder and Embedder II are copyrighted and must under *NO* circumstances be
distributed commercially without an agreement with the author. If the archive
and files are kept exactly like listed below, the "EmbedderII.LHA" archive can
be freely distributed in any non-commercial electronic form.
The archive "EmbedderII.LHA" should contain the following files:
EmbedderII/
Docs.info Embedder Embedder.info Icons.info
EmbedderII/Docs
EmbedderII.doc EmbedderII.doc.info Arguments.doc Arguments.doc.info
EmbedderII/Icons
Embedder.info Embedder_project.info
Disclaimer
~~~~~~~~~~
The creator of this program can and will in no way be held responsible for
any family crisis, genetic mutations or damage on computers and/or software.
So if you use it, you're the only one responsible for anything caused by this
piece of software.
Except from this I hope you'll enjoy and use it a lot....
Introduction
~~~~~~~~~~~~
Welcome to the world of Embedder, one of the most usable process embedding
utilities around. If you know programs like Degrader you may have a slight
idea of what Embedder can and will do for you.
This utility was written because intros and demos that doesn't work with
caches, AA chipset, relocated vector base, etc., is fuckin' annoying to deal
with if you haven't got an old A500 or A2000 nearby. Embedder was written with
all these facts taken into account and I hope it will help a lot of people.
As most users with accellerated Amigas or A1200/A3000/A4000 owners use
Workbench as their desktop, Degrader isn't much fun for these users at all.
Therefore I wrote Embedder. There's been another version out some time ago;
Embedder V1.1 in fact. But please note that this is Embedder II V1.0 and is
a totally rewritten program, as it's smaller, faster and better.
Embedder features usage from both Workbench and a CLI/Shell with the
possibility of total configurability from both platforms. So although
Workbench usage is favourized by me, there's help for all CLI freaks too.
The programs you "embed" will benefit from Embedders possibilities of
controlling your CPU caches, the resolution of your View and sprites, the
relocation of the vector base register (VBR) and you'll get the extra feature
of running cli-programs from the Workbench for free.
Requirements
~~~~~~~~~~~~
To use Embedder you must be the lucky owner of a Kickstart(TM) 2.00+ (V36)
although you will be a bit better of with 2.04+ (V37) because the V36 has some
minor bugs. The sprite-resetting feature (part of the Embedder View controller)
will only work on a Kickstart(TM) 3.0+ (V39), but as all versions older than
V39 doesn't support different sprite-resolutions, this isn't a problem.
To benefit from the AppIcon and the AppMenuItem you'll need at least Workbench
V36. All functions that require a 68010 and better CPU can be used safely on
68000 too.
Features
~~~~~~~~
There are 4 basic features of Embedder that I want to explain here.
Cache control is not the most common problem when running A500 intros on
accelerated machines, but if nothing else works, you'll have to try it.
Embedder have the ability of dis-/enabling both instruction and data caches on
all present Motorola® CPU's (Don't know about the 060 yet! ;-) )
The VBR is one of the most common problems with intros at present. It
relocates the base address of all CPU exception vectors and thereby causes the
interrupts never being executed. I guess you noticed that a lot of intros
never came anywhere when first loaded or the music was probably not playing.
Most trackloaded stuff hasn't got any problems with this because the vector
base is first relocated when the SetPatch command is executed. On machines
without fastram, the vector bae will never be relocated, so there goes another
one for all you A1200 owners out there.
Anyway, Embedder can set up the VBR so it seems like it isn't there at all so
interrupts will work again.
Along with the VBR, the View generated by graphics.library on AA chipset and
some ECS machines is also a big problem. If you have problems with the graphics
of your intros, that is if the graphics are totally module-torn-to-shit-like,
then the feature of resetting the View to a totally blank display and setting
the sprites back into the standard 140ns resolution of the ECS and older
chipsets come in real handy.
This is about it when dealing with Embedders embedding features.
Note that all modifications to the environment will be restored, when the
embedded process exits.
Also note that if you disable the View, you will get a blank display from
loading starts until the excuted process sets up some kind of a display.
Setting up Embedder
~~~~~~~~~~~~~~~~~~~
As mentioned above, Embedder runs from both CLI and Workbench. You configure
Embedder via ToolTypes either way you run it. There is some differences though:
From Workbench: Embedder will load and read it's icon to get the ToolTypes,
then an AppIcon and an AppMenuItem is set up and you can
start playing around.
If the program you execute via the App's has got it's own
icon (e.g. the Embedder_project icon) then the ToolTypes
present here will temporarily override the startup ToolTypes.
Note that the ToolTypes not present will NOT affect the setup
of the specific feature.
All programs run from the App's will run as if they were
executed from CLI, so if you don't need the embedding
features you can just use it to run CLI-programs from WB.
You can also insert the path of Embedder in a project icon
belonging to the program you want to execute, then Embedder
will be executed every time you double-click that icon.
When run from a project icon or when run by clicking the
Embedder icon and the icon of the program, Embedder will
*NOT* create App's and stay resident.
If you use the App's a lot, you can place Embedder in the
WBStartup directory to get that little nice icon on your
screen immediately at LoadWb time.
From CLI: Here Embedder will also try to find it's icon to get the
default setup from the ToolTypes. To specify temporary stuff,
just enter them at the command-line.
From the CLI the AppIcon and AppMenuItem isn't available, but
you'll benefit from the fact, that Embedder will run without
Workbench running.
Embedder will throw some command-line options at you if you
type 'Embedder ?' in the CLI and they'll look like this
'Cac/K,ICac/K,DCac/K,VBR/K,View/K,File/A,Args/F:'
and they correspond directly to the ToolTypes described below,
except for the File/A and Args/F options which describes the
file and arguments of the program you want to embed.
Sample command-line: 'Embedder dcac off vbr on view on c:dir df0:s/
If Embedder is unable to locate it's icon the built-in setup will be used.
It goes like follows: CACHE=ON, VBR=OFF, View=OFF
The ToolTypes understood by Embedder means what they're called :-)
CACHE=(ON/OFF) Determines wether you want both caches to be enabled as
you run a process or not. Note that if you set this to
ON and the cache is disabled it will still be turned
on when a process is run.
ICACHE=(ON/OFF) This en-/disables the instruction cache. It takes
precedence over the CACHE ToolType; shares all other
properties with CACHE.
DCACHE=(ON/OFF) This en-/disables the data cache (including copyback).
It takes precedence over the CACHE ToolType; shares all
other properties with CACHE.
VBR=(ON/OFF) If you've got fastram you probably want to set this to
OFF, as the chance of working interrupts is much bigger
then. Note that the VBR is present on 68010 and higher
only.
VIEW=(ON/OFF) On AA (AGA) chipsets this one should probably be off, as
many intros/demos that put up their own copperlist will
fail, if they don't reset the display. When View is OFF
Embedder will remove the View and set up a blank
old-chipset display.
This might have an effect on ECS also when running
SuperHires or some overscan modes.
*NOTE* All features restores the system as it was before the embedded
process was executed.
Contact me!
~~~~~~~~~~~
You can get in touch with me in several ways...
via InterNet: mail me at "bigmama@bohr.ot.dk"
via BBS: '/Y\etal Connextion' [elite only] node 0: +45 74435949
node 1: +45 74435950
via mail: Bigmama/Focus Design
Jesper Matthiesen
Skovgyden 26
5230 Odense M
DK-Denmark
Contact me for almost anything but swapping. For reporting bugs, for a little
coders chat or if you discovered how to code something really nice ;-)
//
\X/ Amiga rulez!
History
~~~~~~~
Although Embedder II hasn't got much of a history yet, I want to explain the
differences between Embedder II V1.0 and Embedder V1.1.
A lot of bugs should be fixed, especially the bug that left the system hangin'
after the embedded process had ended. Additionally Embedder II works from CLI
without Workbench running.
--------------------------------------------------------------------------------
Embedder II V1.0 28-Jan-94 First release of Embedder II
Totally rewritten release of Embedder. Lots of changes...
--------------------------------------------------------------------------------